package main

import "fmt"

func main() {
	var a int
	fmt.Println(a) // 0

	b := &a               // 取变量的内存地址
	fmt.Println(b)        // 0xc000018098
	fmt.Printf("%T\n", b) // *int

	c := 100
	b = &c         // 把c int 类型的内存地址 赋值给b
	fmt.Println(b) // 0xc000096018

	// 2. 取地址的值
	fmt.Println(*b) // 100

	// 3. 使用指针操作值类型，修改值类型的值
	a1 := [3]int{1, 2, 3}
	modifyArray(&a1)
	fmt.Println(a1)
}

func modifyArray(a1 *[3]int) {
	a1[0] = 100
}
